home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
SPACE 1
/
SPACE - Library 1 - Volume 1.iso
/
program
/
168
/
library
/
lib.doc
< prev
next >
Wrap
Text File
|
1988-04-30
|
8KB
|
257 lines
exit(n) int n;
Exit a program; N is the program return value.
getopt(argc, argv, optstr) char *argv[], *optstr;
Parses a programs argument vector. The optstr argument lists all
possible program options, e.g. "abc:d" says that there are four
options: a, b, c, and d, with c requiring an argument. The function
returns the option or EOF when no more are present. For options that
require an argument, the argument is found in "optarg", a
global char pointer. See a UNIX manual for more info.
fprintf(fp, fmt, args) FILE *fp; char *fmt; int args;
A printf that writes to a standard I/O file.
printf(fmt, args) char *fmt; int args;
A function that prints a formatted output string to standard output.
fscanf(f, fmt, args) FILE *f; char *fmt; int *args;
A scanf that reads a standard I/O file.
scanf(fmt, args) char *fmt; int *args;
A function that reads arguments from the keyboard.
sscanf(s, fmt, args) char *s; char *fmt; int *args;
A scanf that reads from the given string.
fileno(s) FILE *s;
Returns the TOS file descriptor associated with a standard I/O stream.
fread(buf, sz, n, s) char *buf; FILE *s;
Read a standard I/O stream into buf. The sz is the size of each
element and n is the number of elements.
fwrite(buf, sz, n, s) char *buf; FILE *s;
Write buf onto a standard I/O stream. The sz is the size of each
element and n is the number of elements.
fseek(s, offset, mode) FILE *s; long offset;
Seek to a particular location on a standard I/O stream. See TOS
documentation.
fclose(s) FILE *s;
Close a standard I/O stream.
char *
fgets(b, n, f) char *b; int n; FILE *f;
Read a string, at most n characters, into buffer b from stream f.
Keeps the newline. Returns EOF if nothing is there.
FILE *
fopen(name, mode) char *name, *mode;
Open a standard I/O stream. Modes can be "r" for read, "w" for write,
"a" for append. Can also handle "CON:", "PRT:", and "AUX:" to
get access to keyboard/console, printer, and auxiliary ports.
fputs(s, f) char *s; FILE *f;
Write a string onto a standard I/O stream.
char *
gets(b) char *b;
Get a string from stdin. Drop the trailing newline. Returns EOF
if nothing is there.
getchar()
Get a character from stdin. Returns EOF if nothing is there.
getc(s) FILE *s;
Get a character from a standard I/O stream. Returns EOF if nothing
is there.
putchar(c)
Write a character onto stdout.
puts(s) char *s;
Write a string onto stdout. Adds a newline.
putc(c, s) int c; FILE *s;
Write a character onto the given standard I/O stream. This is a
buffered write.
fflush(s) FILE *s;
Flush the output buffer associated with the standard I/O stream.
dup(fd)
A TOS routine to duplicate a file descriptor.
exec(file, args, env, mode) char *file, *args, *env; int mode;
Execute a program. The file argument is the path of the program
to be executed. The args argument will form the programs argv[],
it is like a string, except that the first byte must contain
the length of the string (ask TOS why). I always use a mode of 0
to load-and-run a program.
getdir(buf, drive) char *buf;
Get the current directory of a given drive. If drive = 0, use
current drive. Drive = 1 implies A:, 2 B:, etc.
listdir(pat, buf, mode) char *pat, *buf;
List a directory. The pat argument is the pattern (e.g. *.C). The
buf argument is a DTA buffer (see a TOS manual). This function is
designed to be called many times, each call returning another match
to the search pattern in buf. On the second and subsequent calls,
pat should be NULL. A return of zero indicates success, non-zero
indicates error or end. The mode argument also limits the search
based on the files's attributes. I use 0 for files and 0x10 for
directories. In the DTA buffer, bytes 30 through 43 are the program
name.
lseek(fd, offset, mode) int fd; long offset; int mode;
Set the file pointer for the given file descriptor fd. If mode = 0,
offset directly sets the file pointer. If mode = 1, offset is added
to the current file pointer. If mode = 2, the file pointer is set
offset bytes past the current end of the file.
unlink(name) char *name;
Remove the named file.
close(fd)
Close a file.
creat(f, m) char *f;
Create a file named f with attributes m.
open(f, m) char *f;
Open a file named f. If m = 0, read only. If m = 1, write only.
If m = 3, read or write.
read(fd, buf, sz) int fd, sz; char *buf;
Read sz bytes of file fd into buffer buf starting at the current
file pointer. This advances the file pointer sz bytes. Note, sz
is an integer! Returns the number of bytes read.
write(fd, buf, sz) int fd, sz; char *buf;
Write sz bytes of buffer buf onto file fd.
chmod(name, mode) char *name; int mode;
Change the attributes of a file.
* mode = 0x00 - normal file (read/write)
* 0x01 - read only file
* 0x02 - hidden file
* 0x04 - system file
* 0x08 - file is volume label
* 0x10 - file is a subdirectory
* 0x20 - file is written and closed correctly
sprintf(buf, fmt, args) char *buf, *fmt; int args;
A printf that stores the formatted output into buf instead of
writing it out.
char *
realloc(r, n) struct header *r; unsigned n;
Change the size of a malloc'ed piece of memory.
char *
calloc(n, sz) unsigned n, sz;
Allocate sz bytes and zero them out.
char *
malloc(n) unsigned n; {
Allocate n bytes from the system.
free(r) struct header *r;
Return a previously allocated piece of memory back to the system.
char *
strcat(s1, s2) char *s1, *s2; {
Concatenate string s2 onto string s1. Returns a pointer to s1.
char *
strncat(s1, s2, n) char *s1, *s2; int n;
Concatenate string s2 onto string s1, which is no more than n bytes
long.
strcmp(s1, s2) char *s1, *s2;
Compare string s1 to string s2. Returns less than, equal, or greater
than zero if the s1 is less than, equal, or greater than s2.
strncmp(s1, s2, n) char *s1, *s2; int n;
Same as strcmp, except that it only looks at n characters.
char *
strcpy(s1, s2) char *s1, *s2;
Copy string s2 into string s1;
char *
strncpy(s1, s2, n) char *s1, *s2; int n;
Same as strcpy except it copies at most n characters.
strlen(s) char *s;
Returns the length of a string.
char *
strchr(s, c) char *s; int c;
Searches string s for character c. Returns a pointer to the
first occurence or NULL if not found.
char *
strrchr(s, c) char *s; int c;
Same as strchr(), except it searches from the end of the string
towards the beginning.
char *
strpbrk(s1, s2) unsigned char *s1, *s2;
Scans over the string in s1 looking for characters in string s2.
Stops at the first occurence and returns a pointer to its location.
Returns NULL if it didn't find anything.
char *
strtok(s1, s2) unsigned char *s1, *s2;
Tokenizes a string s1. The first call should have a non-NULL s1,
which is remembered on subsequent calls. String s2 contains the
token separators.
strspn(s1, s2) unsigned char *s1, *s2;
Skips over the string s1 as long as it contains the characters
found in string s2. Returns a pointer into s1.
strcspn(s1, s2) unsigned char *s1, *s2;
Same as strspn, except the inverse condition (i.e. skips s1 as long
as it does not contain s2 characters).
long
strtol(s, p, base) char *s, **p;
Convert a number in a string to a (long) integer. Handles octal
and hex constants as well as decimal. If p is non-NULL, the end
of the number is stored there.
char *
strlower(s) char *s;
Convert all uppercase characters in s to lowercase.
char *
strupper(s) char *s;
Convert all lowercase characters in s to uppercase.
memcpy(m1, m2, n) char *m1, *m2;
Copy n bytes from m2 to m1.
long
time(tloc) long *tloc;
Return the number of seconds since 1980. If tloc is non-nil, then
the value is stored there as well.
getdate()
gettime()
Get the current date and time in TOS format.
setjmp(buf) char **buf;
Initializes a buffer to allow one to do a non-local goto.
See a UNIX manual.
longjmp(buf, rc) char **buf;
Actually do the non-local goto.